package com.chixing.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author liwenjing
 * @since 2025-10-07
 */
public class Refund implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 退票ID
     */
    @TableId(value = "refund_id", type = IdType.AUTO)
    private Integer refundId;

    /**
     * 订单ID
     */
    private Integer orderId;

    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 用户领取的优惠券ID
     */
    private Integer userCouponId;

    /**
     * 退票时间
     */
    private LocalDateTime refundTime;

    /**
     * 扣除金额
     */
    private BigDecimal deductionAmount;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 实退金额
     */
    private BigDecimal actualRefundAmount;

    /**
     * 状态（1退票成功/0失败）
     */
    private Integer statues;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 其他字段1
     */
    private String other1;

    /**
     * 其他字段2
     */
    private String other2;

    public Integer getRefundId() {
        return refundId;
    }

    public void setRefundId(Integer refundId) {
        this.refundId = refundId;
    }
    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }
    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public Integer getUserCouponId() {
        return userCouponId;
    }

    public void setUserCouponId(Integer userCouponId) {
        this.userCouponId = userCouponId;
    }
    public LocalDateTime getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(LocalDateTime refundTime) {
        this.refundTime = refundTime;
    }
    public BigDecimal getDeductionAmount() {
        return deductionAmount;
    }

    public void setDeductionAmount(BigDecimal deductionAmount) {
        this.deductionAmount = deductionAmount;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
    public BigDecimal getActualRefundAmount() {
        return actualRefundAmount;
    }

    public void setActualRefundAmount(BigDecimal actualRefundAmount) {
        this.actualRefundAmount = actualRefundAmount;
    }
    public Integer getStatues() {
        return statues;
    }

    public void setStatues(Integer statues) {
        this.statues = statues;
    }
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }
    public String getOther1() {
        return other1;
    }

    public void setOther1(String other1) {
        this.other1 = other1;
    }
    public String getOther2() {
        return other2;
    }

    public void setOther2(String other2) {
        this.other2 = other2;
    }

    @Override
    public String toString() {
        return "Refund{" +
            "refundId=" + refundId +
            ", orderId=" + orderId +
            ", userId=" + userId +
            ", userCouponId=" + userCouponId +
            ", refundTime=" + refundTime +
            ", deductionAmount=" + deductionAmount +
            ", createTime=" + createTime +
            ", updateTime=" + updateTime +
            ", actualRefundAmount=" + actualRefundAmount +
            ", statues=" + statues +
            ", version=" + version +
            ", other1=" + other1 +
            ", other2=" + other2 +
        "}";
    }
}
